/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package acceso.util;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 *
 * @author dante
 */
public class Excel {
    HSSFWorkbook wb = null;
    HSSFSheet actual = null;
    HSSFRow row = null;
    
    HSSFCellStyle pagtit_estilo;
    HSSFCellStyle pagtit_estilo2;
    
    HSSFCellStyle pagtit_estilo3;
    HSSFCellStyle pagtit_estilo_l;
    HSSFCellStyle pagtit_estilo_c;
    HSSFCellStyle pagtit_estilo_r;
    
    HSSFCellStyle pagreg_estilo;
    HSSFCellStyle pagreg_estilo2;
    HSSFCellStyle pagreg_estilo3;
    HSSFCellStyle valreg_estilo;
    
    HSSFCellStyle valreg_estilo_right;
    HSSFCellStyle valreg_estilo_right2;
    HSSFCellStyle valreg_estilo_left;
    HSSFCellStyle valreg_estilo_center;
    
    int MODO_SHEET = 0;

    int ROW_ACTUAL = 0;
    public Excel() {
        this.wb = new HSSFWorkbook();
    }
    
    public void setTitulo(String titulo){
        if(MODO_SHEET == 1) actual = wb.createSheet(titulo);
        else{if(actual == null) actual = wb.createSheet(titulo);}
    }
    
    public void nueva_hoja(String nombre_hoja){
        actual = wb.createSheet(nombre_hoja);
        ROW_ACTUAL = 0;
    }
    
    public HSSFSheet getHoja(){
        return actual;
    }
    
    public void settear_colores(){
        HSSFPalette palette = wb.getCustomPalette();
        palette.setColorAtIndex(HSSFColor.CORAL.index,(byte) 231, (byte) 232, (byte) 230 );//borde
        palette.setColorAtIndex(HSSFColor.LIME.index,(byte) 44, (byte) 121, (byte) 179 );//titulo
        palette.setColorAtIndex(HSSFColor.AQUA.index,(byte) 248, (byte) 248, (byte) 247 );//celda
        palette.setColorAtIndex(HSSFColor.INDIGO.index,(byte) 7, (byte) 51, (byte) 98 );//font
    }
    
    public int nuevafila(){
        if(ROW_ACTUAL == 0){
            row = actual.createRow(0);
            ROW_ACTUAL = ROW_ACTUAL + 1;
        }else{
            row = actual.createRow(ROW_ACTUAL);
            ROW_ACTUAL = ROW_ACTUAL + 1;
            
        }
        return ROW_ACTUAL;
    }
    
    public HSSFRow getRow_Actual(){
        return row;
    }
    
    public void estilos(){
        //------------------------------------------------------
        pagtit_estilo = wb.createCellStyle();
        pagtit_estilo.setWrapText(false);
        pagtit_estilo.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagtit_estilo.setBorderBottom(CellStyle.BORDER_THIN);pagtit_estilo.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo.setBorderRight(CellStyle.BORDER_THIN);pagtit_estilo.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo.setBorderTop(CellStyle.BORDER_THIN);pagtit_estilo.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo.setBorderLeft(CellStyle.BORDER_THIN);pagtit_estilo.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagtit_estilo.setFillBackgroundColor(IndexedColors.LIME.getIndex());
        pagtit_estilo.setFillForegroundColor(IndexedColors.LIME.getIndex());

        pagtit_estilo.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 

        Font font = wb.createFont();
        font.setFontHeightInPoints((short)11);
        font.setColor(IndexedColors.WHITE.getIndex());
        font.setFontName("Arial");

        pagtit_estilo.setFont(font);
        
        
        pagtit_estilo2 = wb.createCellStyle();
        pagtit_estilo2.setWrapText(false);
        pagtit_estilo2.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagtit_estilo2.setBorderBottom(CellStyle.BORDER_THIN);pagtit_estilo2.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo2.setBorderRight(CellStyle.BORDER_THIN);pagtit_estilo2.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo2.setBorderTop(CellStyle.BORDER_THIN);pagtit_estilo2.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo2.setBorderLeft(CellStyle.BORDER_THIN);pagtit_estilo2.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagtit_estilo2.setFillBackgroundColor(IndexedColors.LIME.getIndex());
        pagtit_estilo2.setFillForegroundColor(IndexedColors.LIME.getIndex());

        pagtit_estilo2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
        pagtit_estilo2.setFont(font);
        
        //------------------------------------------------------
        pagtit_estilo_l = wb.createCellStyle();
        pagtit_estilo_l.setWrapText(false);
        pagtit_estilo_l.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagtit_estilo_l.setBorderBottom(CellStyle.BORDER_THIN);pagtit_estilo_l.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_l.setBorderRight(CellStyle.BORDER_THIN);pagtit_estilo_l.setRightBorderColor(IndexedColors.LIME.getIndex());
        pagtit_estilo_l.setBorderTop(CellStyle.BORDER_THIN);pagtit_estilo_l.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_l.setBorderLeft(CellStyle.BORDER_THIN);pagtit_estilo_l.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagtit_estilo_l.setFillBackgroundColor(IndexedColors.LIME.getIndex());
        pagtit_estilo_l.setFillForegroundColor(IndexedColors.LIME.getIndex());

        pagtit_estilo_l.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
        pagtit_estilo_l.setFont(font);
        
        pagtit_estilo_c = wb.createCellStyle();
        pagtit_estilo_c.setWrapText(false);
        pagtit_estilo_c.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagtit_estilo_c.setBorderBottom(CellStyle.BORDER_THIN);pagtit_estilo_c.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_c.setBorderRight(CellStyle.BORDER_THIN);pagtit_estilo_c.setRightBorderColor(IndexedColors.LIME.getIndex());
        pagtit_estilo_c.setBorderTop(CellStyle.BORDER_THIN);pagtit_estilo_c.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_c.setBorderLeft(CellStyle.BORDER_THIN);pagtit_estilo_c.setLeftBorderColor(IndexedColors.LIME.getIndex());

        pagtit_estilo_c.setFillBackgroundColor(IndexedColors.LIME.getIndex());
        pagtit_estilo_c.setFillForegroundColor(IndexedColors.LIME.getIndex());

        pagtit_estilo_c.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
        pagtit_estilo_c.setFont(font);
        
        
        pagtit_estilo_r = wb.createCellStyle();
        pagtit_estilo_r.setWrapText(false);
        pagtit_estilo_r.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagtit_estilo_r.setBorderBottom(CellStyle.BORDER_THIN);pagtit_estilo_r.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_r.setBorderRight(CellStyle.BORDER_THIN);pagtit_estilo_r.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_r.setBorderTop(CellStyle.BORDER_THIN);pagtit_estilo_r.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagtit_estilo_r.setBorderLeft(CellStyle.BORDER_THIN);pagtit_estilo_r.setLeftBorderColor(IndexedColors.LIME.getIndex());

        pagtit_estilo_r.setFillBackgroundColor(IndexedColors.LIME.getIndex());
        pagtit_estilo_r.setFillForegroundColor(IndexedColors.LIME.getIndex());

        pagtit_estilo_r.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
        pagtit_estilo_r.setFont(font);
        
        //------------------------------------------------------
        
        pagreg_estilo = wb.createCellStyle();
        pagreg_estilo.setWrapText(false);
        pagreg_estilo.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        pagreg_estilo.setBorderBottom(CellStyle.BORDER_THIN);pagreg_estilo.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo.setBorderRight(CellStyle.BORDER_THIN);pagreg_estilo.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo.setBorderTop(CellStyle.BORDER_THIN);pagreg_estilo.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo.setBorderLeft(CellStyle.BORDER_THIN);pagreg_estilo.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagreg_estilo.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
        pagreg_estilo.setFillForegroundColor(IndexedColors.AQUA.getIndex());

        font = wb.createFont();
        font.setFontHeightInPoints((short)10);
        font.setColor(IndexedColors.INDIGO.getIndex());
        font.setFontName("Arial");

        pagreg_estilo.setFont(font);

        pagreg_estilo.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        
        
        pagreg_estilo2 = wb.createCellStyle();
        pagreg_estilo2.setWrapText(false);
        pagreg_estilo2.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        pagreg_estilo2.setBorderBottom(CellStyle.BORDER_THIN);pagreg_estilo2.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo2.setBorderRight(CellStyle.BORDER_THIN);pagreg_estilo2.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo2.setBorderTop(CellStyle.BORDER_THIN);pagreg_estilo2.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo2.setBorderLeft(CellStyle.BORDER_THIN);pagreg_estilo2.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagreg_estilo2.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
        pagreg_estilo2.setFillForegroundColor(IndexedColors.AQUA.getIndex());

        pagreg_estilo2.setFont(font);

        pagreg_estilo2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        
        
        pagreg_estilo3 = wb.createCellStyle();
        pagreg_estilo3.setWrapText(false);
        pagreg_estilo3.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        pagreg_estilo3.setBorderBottom(CellStyle.BORDER_THIN);pagreg_estilo3.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo3.setBorderRight(CellStyle.BORDER_THIN);pagreg_estilo3.setRightBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo3.setBorderTop(CellStyle.BORDER_THIN);pagreg_estilo3.setTopBorderColor(IndexedColors.BLACK.getIndex());
        pagreg_estilo3.setBorderLeft(CellStyle.BORDER_THIN);pagreg_estilo3.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        pagreg_estilo3.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
        pagreg_estilo3.setFillForegroundColor(IndexedColors.AQUA.getIndex());

        pagreg_estilo3.setFont(font);

        pagreg_estilo3.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        
        
        
        valreg_estilo = wb.createCellStyle();
        valreg_estilo.setWrapText(false);
        valreg_estilo.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        valreg_estilo.setBorderBottom(CellStyle.BORDER_THIN);valreg_estilo.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo.setBorderRight(CellStyle.BORDER_THIN);valreg_estilo.setRightBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo.setBorderTop(CellStyle.BORDER_THIN);valreg_estilo.setTopBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo.setBorderLeft(CellStyle.BORDER_THIN);valreg_estilo.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        valreg_estilo.setFont(font);
        
        
        valreg_estilo_right = wb.createCellStyle();
        valreg_estilo_right.setWrapText(false);
        valreg_estilo_right.setAlignment(HSSFCellStyle.ALIGN_RIGHT);

        valreg_estilo_right.setBorderBottom(CellStyle.BORDER_THIN);valreg_estilo_right.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right.setBorderRight(CellStyle.BORDER_THIN);valreg_estilo_right.setRightBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right.setBorderTop(CellStyle.BORDER_THIN);valreg_estilo_right.setTopBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right.setBorderLeft(CellStyle.BORDER_THIN);valreg_estilo_right.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        valreg_estilo_right.setFont(font);
        
        valreg_estilo_right2 = wb.createCellStyle();
        valreg_estilo_right2.setWrapText(false);
        valreg_estilo_right2.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        valreg_estilo_right2.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));

        valreg_estilo_right2.setBorderBottom(CellStyle.BORDER_THIN);valreg_estilo_right2.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right2.setBorderRight(CellStyle.BORDER_THIN);valreg_estilo_right2.setRightBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right2.setBorderTop(CellStyle.BORDER_THIN);valreg_estilo_right2.setTopBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_right2.setBorderLeft(CellStyle.BORDER_THIN);valreg_estilo_right2.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        valreg_estilo_right2.setFont(font);
        
        
        valreg_estilo_left = wb.createCellStyle();
        valreg_estilo_left.setWrapText(false);
        valreg_estilo_left.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        valreg_estilo_left.setBorderBottom(CellStyle.BORDER_THIN);valreg_estilo_left.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_left.setBorderRight(CellStyle.BORDER_THIN);valreg_estilo_left.setRightBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_left.setBorderTop(CellStyle.BORDER_THIN);valreg_estilo_left.setTopBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_left.setBorderLeft(CellStyle.BORDER_THIN);valreg_estilo_left.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        valreg_estilo_left.setFont(font);
        
        
        valreg_estilo_center = wb.createCellStyle();
        valreg_estilo_center.setWrapText(false);
        valreg_estilo_center.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        valreg_estilo_center.setBorderBottom(CellStyle.BORDER_THIN);valreg_estilo_center.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_center.setBorderRight(CellStyle.BORDER_THIN);valreg_estilo_center.setRightBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_center.setBorderTop(CellStyle.BORDER_THIN);valreg_estilo_center.setTopBorderColor(IndexedColors.BLACK.getIndex());
        valreg_estilo_center.setBorderLeft(CellStyle.BORDER_THIN);valreg_estilo_center.setLeftBorderColor(IndexedColors.BLACK.getIndex());

        valreg_estilo_center.setFont(font);
        
    }
    
    public HSSFCellStyle getEstilo_Pagtit(){
        return pagtit_estilo;
    }
    
    public HSSFCellStyle getEstilo_Pagtit2(){
        return pagtit_estilo2;
    }
    
    public HSSFCellStyle getEstilo_Pagtit_l(){
        return pagtit_estilo_l;
    }
    
    public HSSFCellStyle getEstilo_Pagtit_c(){
        return pagtit_estilo_c;
    }
    
    public HSSFCellStyle getEstilo_Pagtit_r(){
        return pagtit_estilo_r;
    }
    
    
    public HSSFCellStyle getEstilo_Pagreg(){
        return pagreg_estilo;
    }
    
    public HSSFCellStyle getEstilo_Pagreg2(){
        return pagreg_estilo2;
    }
    
    public HSSFCellStyle getEstilo_Pagreg3(){
        return pagreg_estilo3;
    }
    
    public HSSFCellStyle getEstilo_Valreg(){
        return valreg_estilo;
    }
    
    public HSSFCellStyle getEstilo_Valreg_Right(){
        return valreg_estilo_right;
    }
    
    public HSSFCellStyle getEstilo_Valreg_Right2(){
        return valreg_estilo_right2;
    }
    
    public HSSFCellStyle getEstilo_Valreg_Left(){
        return valreg_estilo_left;
    }
    
    public HSSFCellStyle getEstilo_Valreg_Center(){
        return valreg_estilo_center;
    }
    
    public HSSFWorkbook workbook(){
        return wb;
    }
}
